package main

import (
	"fmt"
)

type Binterface interface{
	test1()
}

type Cinterface interface{
	test2()
}

type Ainterface interface{
	Binterface
	Cinterface
	test3()
}

type stu struct{
	Name string 
}

func (st stu)test1(){

}
func (st stu)test2(){
	
}
func (st stu)test3(){
	fmt.Println(st.Name)
}

//空接口
type t interface{

}
func test(){

}
func main(){

	//接口多继承
	var s stu  //s 也可以认为实现了t空接口
	s.Name="tom"
	var a Ainterface = s 

	fmt.Println(a)

	a.test3()

	var j t = s 
	fmt.Println(j)

	var k interface{} = s 
	fmt.Println(k)

	k = 110
	k = "china"
	k = [...]int{1,2,3}
	k = make(map[string]int)
	k = []rune("bbb")
	k = 11.2
	fmt.Println(k)
	k = test 
	fmt.Println(k)
}